#include "../include/header.h"

/*
书写两个可执行程序：
可执行程序一：
   父进程负责创建子进程并且最后回收其资源；
   子进程加载可执行程序二。
可执行程序二：
    列出当前目录所有文件的文件名。
*/

int main(int argc, char* argv[]){

    pid_t pid = fork();
    ERROR_CHECK(pid, -1, "fork");

    if(pid > 0){
        // father
        int status;
        pid_t cld = wait(&status);
        ERROR_CHECK(cld, -1, "wait");

        if(WIFEXITED(status)){
            printf("子进程正常退出\n");
        }
    }else{
        // child
        int ret = execl("./ls", "ls", NULL);
        ERROR_CHECK(ret, -1, "error");

   
    }

    return 0 ;
}